package com.gitee.wsl.css.property.sample

import androidx.compose.ui.graphics.Color
import com.gitee.wsl.css.rule.RuleDelegate
import com.gitee.wsl.css.rule.RuleSet


// Text Properties
var RuleSet.hangingPunctuation by RuleDelegate<String?>("hanging-punctuation")
var RuleSet.hyphens by RuleDelegate<String?>("hyphens")
var RuleSet.letterSpacing by RuleDelegate<String?>("letter-spacing")
var RuleSet.lineBreak by RuleDelegate<String?>("line-break")
var RuleSet.lineHeight by RuleDelegate<String?>("line-height")
var RuleSet.overflowWrap by RuleDelegate<String?>("overflow-wrap")
var RuleSet.tabSize by RuleDelegate<String?>("tab-size")
var RuleSet.textAlign by RuleDelegate<TextAlign?>("text-align")
var RuleSet.textAlignLast by RuleDelegate<String?>("text-align-last")
var RuleSet.textIndent by RuleDelegate<String?>("text-indent")
var RuleSet.textJustify by RuleDelegate<String?>("text-justify")
var RuleSet.textTransform by RuleDelegate<String?>("text-transform")
var RuleSet.whiteSpace by RuleDelegate<String?>("white-space")
var RuleSet.wordBreak by RuleDelegate<String?>("word-break")
var RuleSet.wordSpacing by RuleDelegate<String?>("word-spacing")
var RuleSet.wordWrap by RuleDelegate<String?>("word-wrap")

// Text Decoration Properties
var RuleSet.textDecoration by RuleDelegate<String?>("text-decoration")
var RuleSet.textDecorationColor by RuleDelegate<Color?>("text-decoration-color")
var RuleSet.textDecorationLine by RuleDelegate<String?>("text-decoration-line")
var RuleSet.textDecorationStyle by RuleDelegate<String?>("text-decoration-style")
var RuleSet.textShadow by RuleDelegate<String?>("text-shadow")
var RuleSet.textUnderlinePosition by RuleDelegate<String?>("text-underline-position")


@JvmInline
value class TextAlign(val name: String) {
    override fun toString() = name

    companion object {
        val Left = TextAlign("left")
        val Right = TextAlign("right")
        val Center = TextAlign("center")
        val Justify = TextAlign("justify")
        val Initial = TextAlign("initial")
        val Inherit = TextAlign("inherit")
    }
}
